package sprint2;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * Een Item, die je kunt gebruiken en oppakken.
 * @author Marco Schultewolter
 * @author Yoeri Goldewijk
 */
public class Item implements Serializable  {

	protected String name;
	protected String description;
	protected double value;				// prijs nodig voor NPC
	
	private boolean	opgepakt;

	/**
	 * Ce constructor van Item.
	 * @param name De naam van de Item.
	 * @param description Een korte beschrijving.
	 * @param value De prijs van de Item.
	 */
	public Item(String name, String description, double value) {
		this.name = name;
		this.description = description;
		this.value = value;
	}

	/**
	 * Gebruiken van de Item. Override in overgeërfde klassen.
	 */
	public void useItem() {
		System.out.println(name + " (" + description + "); waarde: " + value);
	}

	public String getName() {
		return name;
	}

	public String getDescription() {
		return description;
	}

	public double getValue() {
		return value;
	}


	public String toString() {
		//return "Naam: " + name + "; Beschrijving: " + description + "; Waarde: " + value;
		return name + " (" + description + "); waarde: " + value;
	}

	public void setOpgepakt(boolean opgepakt) {
		this.opgepakt = opgepakt;
	}

	public boolean isOpgepakt() {
		return opgepakt;
	}
}
